Field of the Invention
The present invention relates to management of an application program on an image forming apparatus.
Description of the Related Art
In recent years, an application operation environment, typically a Java™ environment, is provided for image forming apparatuses (hereinafter, the trademark sign will be omitted). Techniques have been suggested that provide expandable applications by taking advantage of the program portability offered by Java. To improve the functions and usability of the image forming apparatuses, applications that operate under the aforementioned Java environment and other environments have been created; when installed in the image forming apparatuses, these applications can achieve desired functions. One example of application platforms is the Open Services Gateway initiative (OSGi) service platform (hereinafter, OSGi), which is a Java application platform for embedded devices. OSGi defines bundles as management units of software modules, and defines the specifications for managing a life cycle composed of installation, start, stop, update, and uninstallation. In this context, a bundle denotes a Java module, and is synonymous with an application in the present specification. Therefore, hereinafter, an application will be referred to as a bundle.
With respect to a bundle that operates when installed in an image forming apparatus, a user can issue an instruction for installation, start, stop, update, and uninstallation. However, when the usage fee for a non-free bundle is not paid or when the support for the image forming apparatus has expired, an external system for the user may want to perform control to forcedly suspend the use of the bundle so that the user cannot use the bundle. A method has been suggested that, when a bundle that should not be used exists in an image forming apparatus or another device, suspends the use of the bundle by detecting and forcedly uninstalling the bundle upon activation (Japanese Patent Laid-Open No. 2009-189659).
However, this method is problematic because, when the user is allowed to use the bundle again upon completion of payment of the outstanding usage fee for the bundle, the bundle needs to be reinstalled, thereby imposing a workload on the user. Another problem is that, as user data of the bundle is deleted by uninstalling the bundle, reusing the bundle as before requires restoration of the user data.